import {Sex} from './t04-自定义类型type'

//创建抽象类
abstract class Person{
    //属性
    name:string;
    age:number;
    sex:Sex;
    //构造函数
    constructor(name:string,age:number,sex:Sex){
        this.name=name;
        this.age=age;
        this.sex=sex;
    }
    //父类的抽象方法
    abstract myMethod():void
    myMethod02(){
        
    }
}
class Student extends Person{
    //类里面的方法
    abc(){
        console.log("我是类里面的方法....")
    }
    //子类继承父类后重写的抽象方法
    myMethod(){
        
    }
}

//ts中无法创建抽象类的实例对象
// let p1 = new Person('张三',16,Sex.男)
const p4 = new Student('张三',16,Sex.男)
let p1:Person //父类类型变量
//父类的引用指向子类对象---多态
p1=new Student('张三',16,Sex.男); //子类类型的对象,赋值给父类类型的变量